package com.example.leetcode.graph;

import com.example.leetcode.graph.common.GraphUtils;

class Solution433 {
    public int minMutation(String startGene, String endGene, String[] bank) {
        return GraphUtils.minMutation(startGene, endGene, bank);
    }
}

public class leetcode433 {
    public static void main(String[] args) {
        Solution433 solution433 = new Solution433();

//        String start = "AACCGGTT", end = "AACCGGTA";
//        String[] bank = {"AACCGGTA"};
//        System.out.println(solution433.minMutation(start, end, bank));
//
//        String start1 = "AACCGGTT", end1 = "AAACGGTA";
//        String[] bank1 = {"AACCGGTA", "AACCGCTA", "AAACGGTA"};
//        System.out.println(solution433.minMutation(start1, end1, bank1));
//
//        String start2 = "AAAAACCC", end2 = "AACCCCCC";
//        String[] bank2 = {"AAAACCCC", "AAACCCCC", "AACCCCCC"};
//        System.out.println(solution433.minMutation(start2, end2, bank2));

        String start3 = "AAAAAAAA";
        String end3 = "CCCCCCCC";
        String[] bank3 = {"AAAAAAAA", "AAAAAAAC", "AAAAAACC", "AAAAACCC", "AAAACCCC", "AACACCCC", "ACCACCCC", "ACCCCCCC", "CCCCCCCA"};
        System.out.println(solution433.minMutation(start3, end3, bank3));
    }
}
